/*
 * Copyright (C) 2016 yixun All Rights Reserved.
 * 
 * NeedReceiveRefund.java
 */
package com.emm.yixun.common.model;

import com.alibaba.fastjson.annotation.JSONField;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * [文件名称]<br>
 * NeedReceiveRefund.java<br>
 * <br>
 * [文件描述]<br>
 * 待收/退款表 pojo bean<br>
 * <br>
 * [修改记录]<br>
 * 2016-07-07 15:16:22 创建<br>
 * @version 1.00
 */
public class NeedAdvanceRefund extends CommonModel implements Serializable{
    /**
	 * 序列化UID
	 */
	private static final long serialVersionUID = 1L;

	/**
	 *主键、自动增长
	 */
	private Long id;
	/**
	 *关联ID，根据收款类型决定
	 */
	private Long relationId;
	/**
	 *0认筹 1认购 2签约 3面积补差
	 */
	private String businessType;
	/**
	 *应收款总额
	 */
	private BigDecimal totalReceivablesAmount;
	/**
	 *付款方式:[{key:payment_method,values:[{no:1,alias:LUMP_SUM,remark:一次性付款},{no:2,alias:INSTALLMENT_PAYMENT,remark:分期付款},{no:3,alias:COMMERCIAL_MORTGAGE,remark:商业按揭},{no:4,alias:PROVIDENT_FUND_MORTGAGE,remark:公积金按揭},{no:5,alias:COMBINED_LOAN,remark:组合贷款}]}]
	 */
	private String paymentMethod;
	/**
	 *客户ID,冗余，关联查询时用
	 */
	private Long customerId;
	/**
	 *客户ID,冗余，关联查询时用
	 */
	private Long roomId;
	/**
	 *房款类型，见枚举HousingFundTypeEnum
	 */
	private String housingFundType;
	/**
	 *业务标志，见枚举businessFlagEnum
	 */
	private String businessFlag;
	/**
	 *
	 */
	private String agentName;
	/**
	 *
	 */
	private String orgName;
	/**
	 *应收日期
	 */
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private Date receivablesDate;
	/**
	 *根据付款方式决定，如一次性付款、公积金、首付款、按揭银行、1期、2期等
	 */
	private String receivablesFunds;
	/**
	 *0已结清 1未结清
	 */
	private String status;
	/**
	 *是否延期收款 0 否 1是
	 */
	private String postponedStatus;
	/**
	 *流程ID
	 */
	private String proInsId;
	/**
	 *0 待审核 1审核中 2审核不通过 3审核通过
	 */
	private String postponedAutitStatus;
	/**
	 *0待收款 1待退款
	 */
	private String docType;
	/**
	 *备注
	 */
	private String remark;
	/**
	 *商户ID
	 */
	private Long merchantId;
	/**
	 *保存到最后一级房产code码，作用于项目数据权限
	 */
	private String accessCode;
	/**
	 *用户编码,关联用户表
	 */
	private String userCode;
	/**
	 *创建人ID,关联用户表
	 */
	private Long createUserId;
	/**
	 *创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**
	 *修改人ID,关联用户表
	 */
	private Long updateUserId;
	/**
	 *修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	@JSONField (format="yyyy-MM-dd HH:mm:ss")
	private Date updateTime;
	/**
	 *是否删除:0否 1是
	 */
	private String delFlag;

	private String customerFamilyName;

	private String loanLife;//贷款年限

	public String getLoanLife() {
		return loanLife;
	}

	public void setLoanLife(String loanLife) {
		this.loanLife = loanLife;
	}

	public String getCustomerFamilyName() {
		return customerFamilyName;
	}

	public void setCustomerFamilyName(String customerFamilyName) {
		this.customerFamilyName = customerFamilyName;
	}

	/**	 
	 *设置 :主键、自动增长
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**	 
	 *获取 :主键、自动增长
	 */
	public Long getId() {
		return this.id;
	}

	/**	 
	 *设置 :关联ID，根据收款类型决定
	 */
	public void setRelationId(Long relationId) {
		this.relationId = relationId;
	}

	/**	 
	 *获取 :关联ID，根据收款类型决定
	 */
	public Long getRelationId() {
		return this.relationId;
	}

	/**	 
	 *设置 :0认筹 1认购 2签约 3面积补差
	 */
	public void setBusinessType(String businessType) {
		this.businessType = businessType;
	}

	/**	 
	 *获取 :0认筹 1认购 2签约 3面积补差
	 */
	public String getBusinessType() {
		return this.businessType;
	}

	/**	 
	 *设置 :应收款总额
	 */
	public void setTotalReceivablesAmount(BigDecimal totalReceivablesAmount) {
		this.totalReceivablesAmount = totalReceivablesAmount;
	}

	/**	 
	 *获取 :应收款总额
	 */
	public BigDecimal getTotalReceivablesAmount() {
		return this.totalReceivablesAmount;
	}

	/**	 
	 *设置 :付款方式:[{key:payment_method,values:[{no:1,alias:LUMP_SUM,remark:一次性付款},{no:2,alias:INSTALLMENT_PAYMENT,remark:分期付款},{no:3,alias:COMMERCIAL_MORTGAGE,remark:商业按揭},{no:4,alias:PROVIDENT_FUND_MORTGAGE,remark:公积金按揭},{no:5,alias:COMBINED_LOAN,remark:组合贷款}]}]
	 */
	public void setPaymentMethod(String paymentMethod) {
		this.paymentMethod = paymentMethod;
	}

	/**	 
	 *获取 :付款方式:[{key:payment_method,values:[{no:1,alias:LUMP_SUM,remark:一次性付款},{no:2,alias:INSTALLMENT_PAYMENT,remark:分期付款},{no:3,alias:COMMERCIAL_MORTGAGE,remark:商业按揭},{no:4,alias:PROVIDENT_FUND_MORTGAGE,remark:公积金按揭},{no:5,alias:COMBINED_LOAN,remark:组合贷款}]}]
	 */
	public String getPaymentMethod() {
		return this.paymentMethod;
	}

	/**	 
	 *设置 :客户ID,冗余，关联查询时用
	 */
	public void setCustomerId(Long customerId) {
		this.customerId = customerId;
	}

	/**	 
	 *获取 :客户ID,冗余，关联查询时用
	 */
	public Long getCustomerId() {
		return this.customerId;
	}

	/**	 
	 *设置 :客户ID,冗余，关联查询时用
	 */
	public void setRoomId(Long roomId) {
		this.roomId = roomId;
	}

	/**	 
	 *获取 :客户ID,冗余，关联查询时用
	 */
	public Long getRoomId() {
		return this.roomId;
	}

	/**	 
	 *设置 :房款类型，见枚举HousingFundTypeEnum
	 */
	public void setHousingFundType(String housingFundType) {
		this.housingFundType = housingFundType;
	}

	/**	 
	 *获取 :房款类型，见枚举HousingFundTypeEnum
	 */
	public String getHousingFundType() {
		return this.housingFundType;
	}

	/**	 
	 *设置 :业务标志，见枚举businessFlagEnum
	 */
	public void setBusinessFlag(String businessFlag) {
		this.businessFlag = businessFlag;
	}

	/**	 
	 *获取 :业务标志，见枚举businessFlagEnum
	 */
	public String getBusinessFlag() {
		return this.businessFlag;
	}

	/**	 
	 *设置 :
	 */
	public void setAgentName(String agentName) {
		this.agentName = agentName;
	}

	/**	 
	 *获取 :
	 */
	public String getAgentName() {
		return this.agentName;
	}

	/**	 
	 *设置 :
	 */
	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}

	/**	 
	 *获取 :
	 */
	public String getOrgName() {
		return this.orgName;
	}

	/**	 
	 *设置 :应收日期
	 */
	public void setReceivablesDate(Date receivablesDate) {
		this.receivablesDate = receivablesDate;
	}

	/**	 
	 *获取 :应收日期
	 */
	public Date getReceivablesDate() {
		return this.receivablesDate;
	}

	/**	 
	 *设置 :根据付款方式决定，如一次性付款、公积金、首付款、按揭银行、1期、2期等
	 */
	public void setReceivablesFunds(String receivablesFunds) {
		this.receivablesFunds = receivablesFunds;
	}

	/**	 
	 *获取 :根据付款方式决定，如一次性付款、公积金、首付款、按揭银行、1期、2期等
	 */
	public String getReceivablesFunds() {
		return this.receivablesFunds;
	}

	/**	 
	 *设置 :0已结清 1未结清
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**	 
	 *获取 :0已结清 1未结清
	 */
	public String getStatus() {
		return this.status;
	}

	/**	 
	 *设置 :0 否 1是
	 */
	public void setPostponedStatus(String postponedStatus) {
		this.postponedStatus = postponedStatus;
	}

	/**	 
	 *获取 :0 否 1是
	 */
	public String getPostponedStatus() {
		return this.postponedStatus;
	}

	/**	 
	 *设置 :流程ID
	 */
	public void setProInsId(String proInsId) {
		this.proInsId = proInsId;
	}

	/**	 
	 *获取 :流程ID
	 */
	public String getProInsId() {
		return this.proInsId;
	}

	/**	 
	 *设置 :0 待审核 1审核中 2审核不通过 3审核通过
	 */
	public void setPostponedAutitStatus(String postponedAutitStatus) {
		this.postponedAutitStatus = postponedAutitStatus;
	}

	/**	 
	 *获取 :0 待审核 1审核中 2审核不通过 3审核通过
	 */
	public String getPostponedAutitStatus() {
		return this.postponedAutitStatus;
	}

	/**	 
	 *设置 :0待收款 1待退款
	 */
	public void setDocType(String docType) {
		this.docType = docType;
	}

	/**	 
	 *获取 :0待收款 1待退款
	 */
	public String getDocType() {
		return this.docType;
	}

	/**	 
	 *设置 :备注
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**	 
	 *获取 :备注
	 */
	public String getRemark() {
		return this.remark;
	}

	/**	 
	 *设置 :商户ID
	 */
	public void setMerchantId(Long merchantId) {
		this.merchantId = merchantId;
	}

	/**	 
	 *获取 :商户ID
	 */
	public Long getMerchantId() {
		return this.merchantId;
	}

	/**	 
	 *设置 :保存到最后一级房产code码，作用于项目数据权限
	 */
	public void setAccessCode(String accessCode) {
		this.accessCode = accessCode;
	}

	/**	 
	 *获取 :保存到最后一级房产code码，作用于项目数据权限
	 */
	public String getAccessCode() {
		return this.accessCode;
	}

	/**	 
	 *设置 :用户编码,关联用户表
	 */
	public void setUserCode(String userCode) {
		this.userCode = userCode;
	}

	/**	 
	 *获取 :用户编码,关联用户表
	 */
	public String getUserCode() {
		return this.userCode;
	}

	/**	 
	 *设置 :创建人ID,关联用户表
	 */
	public void setCreateUserId(Long createUserId) {
		this.createUserId = createUserId;
	}

	/**	 
	 *获取 :创建人ID,关联用户表
	 */
	public Long getCreateUserId() {
		return this.createUserId;
	}

	/**	 
	 *设置 :创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	/**	 
	 *获取 :创建时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public Date getCreateTime() {
		return this.createTime;
	}

	/**	 
	 *设置 :修改人ID,关联用户表
	 */
	public void setUpdateUserId(Long updateUserId) {
		this.updateUserId = updateUserId;
	}

	/**	 
	 *获取 :修改人ID,关联用户表
	 */
	public Long getUpdateUserId() {
		return this.updateUserId;
	}

	/**	 
	 *设置 :修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	/**	 
	 *获取 :修改时间格式：yyyy-MM-dd HH:mm:ss
	 */
	public Date getUpdateTime() {
		return this.updateTime;
	}

	/**	 
	 *设置 :是否删除:0否 1是
	 */
	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	/**	 
	 *获取 :是否删除:0否 1是
	 */
	public String getDelFlag() {
		return this.delFlag;
	}

}
